<!--
 * Copyright (c) 2012 The Chromium Authors. All rights reserved.  Use of this
 * source code is governed by a BSD-style license that can be found in the
 * LICENSE file.
 *
 * Author: Will Drewry <wad@chromium.org>
 *
 * NOTE: All icons are from http://icons.mysitemyway.com
 * Their terms of use are as follows:
 *   All royalty free stock icons, clip art and other design resources on this
 *   website are free for use in both personal and commercial projects.
 *   You may freely use them in software programs, scrapbooking kits, web templates,
 *   websites, blogs, etc. No attribution or backlinks are required, but are
 *   always appreciated.
 *
 * Thanks to mysitemyway! :)
-->

<html>
<head>
<script type="text/javascript" src="chrome_ex_oauthsimple.js"></script>
<script type="text/javascript" src="chrome_ex_oauth.js"></script>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="tabbed_app.js" type="text/javascript"></script>
<script type="text/javascript">
var mock_query = {};
var mock_comments = {};
var bgPage = null;
if (chrome.extension != null) {
 bgPage = chrome.extension.getBackgroundPage();
}
</script>
</head>
<body>
   <style type="text/css">
        body {
          background: #333;
        }
        .mode-selector {
          position: fixed;
          right: -1px;
          top: 0px;
          z-index: 1000;
        }
        .mode-selector div {
          display: table-cell;
        }
        .mode-selector #security-mode-button {
        }
        .mode-selector .modes {
          border-left: 3px solid white;
          border-bottom: 1px solid white;
          border-top: 1px solid white;
          -webkit-border-radius: 40px 0px 0px 40px;
        }
        .modes .mode {
          padding: 0;
          margin: 0;
          -webkit-border-radius: 40px;
          opacity: 0.3;
        }
        .modes .mode:hover {
          opacity: 0.9;
        }
        .modes .mode.current {
          opacity: 1.0;
        }
        .tabs {
            height: 90%;
            overflow-x: hidden;
            position: relative;
            z-index: 1;
            display: none;
            min-width: 800px;
        }
        .tabs .view-privacy {
        }
        .tabs .view-security {
        }
        article.current {
          display: block;
        }

        .tabs section {
            float: left;
            z-index: 1;
        }
        .tabs section .button {
            margin: 0 1px 0 0;
            background: #333;
            font: bold 12px Arial;
            -webkit-border-radius: 8px 8px 0 0;
            cursor: hand;
            cursor: pointer;
            display: block;
            opacity: 0.1;
            float: left;
        }
        .tabs section.work .button {
          opacity: 0.5;
        }
        .tabs section .button:hover {
          opacity: 0.9;
        }
        .tabs section.current .button {
          cursor: default;
          opacity: 1.0;
          /* background: #7f7f7f; */
        }
        .tabs section .badge {
          position: relative;
          top: -25px;
          left: 60px;
          color: #f0f0f0;
          background: #3f3f3f;
          width: 1.25em;
          -webkit-border-radius: 5px;
          text-align: center;
          display: none;
        }
        .tabs section.work .badge {
          display: block;
        }

        .tabs section .content {
            position: absolute;
            left: 0;
            top: 85px;
            z-index: 2;
            width: 98%;
            min-width: 800px;
            min-height: 300px;
            background: #7f7f7f;
            display: none;
            padding: 10px;
            font: 12px Arial;
            -webkit-border-radius: 10px;
            overflow: auto;
        }

        .tabs section.current div { display: block; }

        .tabs section .content .issue {
          margin: 2px;
          margin-top: 4px;
          padding-left: 5px;
          font: 14px monospace, Courier New, Serif;
          background: #7f7f7f;
          border: 1px solid #7f7f7f;
          width: 99%;
          height: 1.5em;
          display: block;
          border-spacing: 3px;
        }

        .tabs section .content .issue .label {
          padding: 2px;
        }

        .tabs section .content .issue .label .actions {
          float: right;
          -webkit-border-radius: 8px;
          background: #7f7f7f;
          z-index: 20;
          padding: 0;
          padding-left: 2px;
          padding-right: 2px;
          margin-right: 10px;
        }

        .tabs section .content .issue .label .actions:hover {
          border-right: 3px solid #7f7f7f;
          border-bottom: 3px solid #7f7f7f;
          background: #afafaf;
        }


        .tabs section .content .issue:nth-child(even) .label .id {
          border-bottom: 1px dashed hotpink;
          margin-right: 10px;
        }
        .tabs section .content .issue:nth-child(odd) .label .id {
          border-bottom: 1px dashed pink;
          margin-right: 10px;
        }

        .tabs section .content .issue:hover {
          background: #bfbfbf;
          -webkit-border-radius: 4px;
        }
        .tabs section .content .issue.current .label {
        }
        .tabs section .content .issue.current {
          background: #bfbfbf;
          -webkit-border-radius: 4px;
          height: 600px;
        }

        .tabs section .content .issue .details .field {
        }
        .tabs section .content .issue .details .field .field-label {
          width: 8em;
          display: table-cell;
          text-decoration: underline;
        }

        .tabs section .content .issue .details .field .field-value {
          display: table-cell;
        }

        .tabs section .content .issue .details .field .field-value:hover {
          background: #afafaf;
        }

        .tabs section .content .issue .details .comments .comment:nth-child(odd) {
          background: #afafaf;
        }

        .tabs section .content .issue .details {
          height: 0;
          width: 0;
          display: none;
        }
        .tabs section .content .issue.current .details {
           display: block;
           width: 98%;
           height: 90%;
           overflow: auto;
        }



::-webkit-scrollbar-track-piece{
  background-color:#fff;
  -webkit-border-radius:4px;
}
::-webkit-scrollbar{
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-thumb{
  background-color:#fff;
  -webkit-border-radius: 8px;
  outline: 4px solid #ddd;
  outline-offset: -5px;
}

::-webkit-scrollbar-thumb:hover{
  -webkit-border-radius: 8px;
  background-color: #ddd;
  outline: 3px solid #ddd;
}

    </style>


<!-- Expected behavior notes:

- Floating right-hand-side "mode" switches between privacy and security workflows.
- Tab strip across the top brings up the current query for the workflow
[TODO] - Each entry in the given workflow may expand with full details
- When a given query is empty/has no work to do, its opacity is dropped.

-->

<!-- WORKING
   <div class="mode-selector">
     <div class="refresh">
     <img src="icons/arrows-arrow-circle-refresh.png" width=75px height=75px />
     </div>
     <div class="modes">
       <div id="security-mode-button" class="mode current" "security">
         <img src="icons/business-lock6-sc48.png" width=75px height=75px />
       </div>
       <div id="privacy-mode-button" class="mode" "privacy">
         <img src="icons/people-things-eye.png" width=75px height=75px />
       </div>
     </div>
   </div>
-->

<script type="application/json" id="mock_comments">
{"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearch/1.1/","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$issues":"http://schemas.google.com/projecthosting/issues/2009","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full"},"updated":{"$t":"2012-05-29T19:34:10.497Z"},"title":{"$t":"Issue 17742 - Security review of FUSE-based ntfs-3g driver - chromium-os"},"subtitle":{"$t":"Issue 17742 - Security review of FUSE-based ntfs-3g driver - chromium-os"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742"},{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full"},{"rel":"http://schemas.google.com/g/2005#post","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full?alt=json&max-results=12"}],"generator":{"$t":"ProjectHosting","version":"1.0","uri":"http://code.google.com/feeds/issues"},"openSearch$totalResults":{"$t":12},"openSearch$startIndex":{"$t":1},"openSearch$itemsPerPage":{"$t":12},"entry":[{"gd$etag":"W/\"AkIMR347eCl7ImA9WhdSEE8.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/2"},"published":{"$t":"2011-07-18T22:36:26.000Z"},"updated":{"$t":"2011-07-18T22:36:26.000Z"},"title":{"$t":"Comment 2 by benc...@chromium.org"},"content":{"$t":"","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c2"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/2"}],"author":[{"name":{"$t":"benc...@chromium.org"},"uri":{"$t":"/u/102294590037254683667/"}}],"issues$updates":{}},{"gd$etag":"W/\"AkAGQn47eCl7ImA9WhdSEE8.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/3"},"published":{"$t":"2011-07-18T22:38:43.000Z"},"updated":{"$t":"2011-07-18T22:38:43.000Z"},"title":{"$t":"Comment 3 by benc...@chromium.org"},"content":{"$t":"","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c3"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/3"}],"author":[{"name":{"$t":"benc...@chromium.org"},"uri":{"$t":"/u/102294590037254683667/"}}],"issues$updates":{}},{"gd$etag":"W/\"DkIGSX47eCl7ImA9WhdREk8.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/4"},"published":{"$t":"2011-08-01T18:48:48.000Z"},"updated":{"$t":"2011-08-01T18:48:48.000Z"},"title":{"$t":"Comment 4 by zelidrag@chromium.org"},"content":{"$t":"","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c4"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/4"}],"author":[{"name":{"$t":"zelidrag@chromium.org"},"uri":{"$t":"/u/zelidrag@chromium.org/"}}],"issues$updates":{"issues$label":[{"$t":"Mstone-R14"}],"issues$status":{"$t":"Assigned"}}},{"gd$etag":"W/\"DkMDQ347eCl7ImA9WhdREkk.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/5"},"published":{"$t":"2011-08-02T00:21:12.000Z"},"updated":{"$t":"2011-08-02T00:21:12.000Z"},"title":{"$t":"Comment 5 by benc...@chromium.org"},"content":{"$t":"Issue 17943 has been merged into this issue.","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c5"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/5"}],"author":[{"name":{"$t":"benc...@chromium.org"},"uri":{"$t":"/u/102294590037254683667/"}}],"issues$updates":{"issues$ccUpdate":[{"$t":"benc...@chromium.org"},{"$t":"wad@chromium.org"},{"$t":"pvalc...@chromium.org"}]}},{"gd$etag":"W/\"DkICRX47eCl7ImA9WhdREkk.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/6"},"published":{"$t":"2011-08-02T00:22:44.000Z"},"updated":{"$t":"2011-08-02T00:22:44.000Z"},"title":{"$t":"Comment 6 by benc...@chromium.org"},"content":{"$t":"","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c6"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/6"}],"author":[{"name":{"$t":"benc...@chromium.org"},"uri":{"$t":"/u/102294590037254683667/"}}],"issues$updates":{"issues$blockedOnUpdate":[{"$t":"18524"}]}},{"gd$etag":"W/\"CEYCRH47eCl7ImA9WhdXEEg.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/7"},"published":{"$t":"2011-08-22T22:29:25.000Z"},"updated":{"$t":"2011-08-22T22:29:25.000Z"},"title":{"$t":"Comment 7 by benc...@chromium.org"},"content":{"$t":"","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c7"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/7"}],"author":[{"name":{"$t":"benc...@chromium.org"},"uri":{"$t":"/u/102294590037254683667/"}}],"issues$updates":{"issues$label":[{"$t":"-Mstone-R14"},{"$t":"Mstone-R15"},{"$t":"Iteration-37"}]}},{"gd$etag":"W/\"A0QHSX47eCl7ImA9WhRSEE4.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/8"},"published":{"$t":"2011-11-11T19:22:18.000Z"},"updated":{"$t":"2011-11-11T19:22:18.000Z"},"title":{"$t":"Comment 8 by or...@chromium.org"},"content":{"$t":"Moving non-essential bugs to R17. please move back if this was done in error and your bug is a blocker for R15 or R16.","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c8"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/8"}],"author":[{"name":{"$t":"or...@chromium.org"},"uri":{"$t":"/u/110455494792614626431/"}}],"issues$updates":{"issues$label":[{"$t":"bulkmove"},{"$t":"Mstone-R17"}]}},{"gd$etag":"W/\"DUMER347eCl7ImA9WhRRFUw.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/9"},"published":{"$t":"2011-11-28T21:56:46.000Z"},"updated":{"$t":"2011-11-28T21:56:46.000Z"},"title":{"$t":"Comment 9 by joshwood...@chromium.org"},"content":{"$t":"","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c9"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/9"}],"author":[{"name":{"$t":"joshwood...@chromium.org"},"uri":{"$t":"/u/100507449059294540076/"}}],"issues$updates":{"issues$label":[{"$t":"Feature-FileManager"}]}},{"gd$etag":"W/\"CEEEQX47eCl7ImA9WhRaE0k.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/10"},"published":{"$t":"2012-02-15T21:50:00.000Z"},"updated":{"$t":"2012-02-15T21:50:00.000Z"},"title":{"$t":"Comment 10 by or...@chromium.org"},"content":{"$t":"Punting to R19. These issues have not been updated for at least 30 days, not marked as started, and not a release blocker. If these issues are in fact critical for R17 or R18, please update the Mstone label and add the ReleaseBlock and Merge labels.","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c10"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/10"}],"author":[{"name":{"$t":"or...@chromium.org"},"uri":{"$t":"/u/110455494792614626431/"}}],"issues$updates":{"issues$label":[{"$t":"-Mstone-R17"},{"$t":"Mstone-R19"}]}},{"gd$etag":"W/\"DkUDSH47eCl7ImA9WhVREkU.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/11"},"published":{"$t":"2012-03-20T22:57:59.000Z"},"updated":{"$t":"2012-03-20T22:57:59.000Z"},"title":{"$t":"Comment 11 by wad@chromium.org"},"content":{"$t":"Bulk move. All of these need triaging and assignment or WontFix.","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c11"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/11"}],"author":[{"name":{"$t":"wad@chromium.org"},"uri":{"$t":"/u/wad@chromium.org/"}}],"issues$updates":{"issues$label":[{"$t":"-Mstone-R19"},{"$t":"Mstone-R20"}]}},{"gd$etag":"W/\"DkQNR347eCl7ImA9WhVQF0g.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/12"},"published":{"$t":"2012-04-06T23:19:56.000Z"},"updated":{"$t":"2012-04-06T23:19:56.000Z"},"title":{"$t":"Comment 12 by dd...@chromium.org"},"content":{"$t":"","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c12"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/12"}],"author":[{"name":{"$t":"dd...@chromium.org"},"uri":{"$t":"/u/117440434751781574409/"}}],"issues$updates":{"issues$label":[{"$t":"-Mstone-R20"},{"$t":"Mstone-20"}]}},{"gd$etag":"W/\"C0YGRH47eCl7ImA9WhVVFE4.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/13"},"published":{"$t":"2012-05-07T22:52:05.000Z"},"updated":{"$t":"2012-05-07T22:52:05.000Z"},"title":{"$t":"Comment 13 by wad@chromium.org"},"content":{"$t":"Bumping all these to M21 and marking untriaged.  Most of these are old and crufty and are either done or don't need to be done or need to be specifically assigned.  I plan to do that this week.","type":"html"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742#c13"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full/13"}],"author":[{"name":{"$t":"wad@chromium.org"},"uri":{"$t":"/u/wad@chromium.org/"}}],"issues$updates":{"issues$label":[{"$t":"-Mstone-20"},{"$t":"Mstone-21"}],"issues$status":{"$t":"Untriaged"}}}]}}
</script>
<script type="application/json" id="mock_query">
{"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearch/1.1/","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$issues":"http://schemas.google.com/projecthosting/issues/2009","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/full"},"updated":{"$t":"2012-05-24T18:44:47.370Z"},"title":{"$t":"Issues - chromium-os"},"subtitle":{"$t":"Issues - chromium-os"},"link":[{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/list"},{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/full"},{"rel":"http://schemas.google.com/g/2005#post","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/full"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/full?alt=json&q=label%3ASecurity+label%3APri-1&start-index=1&max-results=1&status=Untriaged"}],"generator":{"$t":"ProjectHosting","version":"1.0","uri":"http://code.google.com/feeds/issues"},"openSearch$totalResults":{"$t":1},"openSearch$startIndex":{"$t":1},"openSearch$itemsPerPage":{"$t":1},"entry":[{"gd$etag":"W/\"C0YGRH47eCl7ImA9WhVVFE4.\"","id":{"$t":"http://code.google.com/feeds/issues/p/chromium-os/issues/full/17742"},"published":{"$t":"2011-07-18T22:35:03.000Z"},"updated":{"$t":"2012-05-07T22:52:05.000Z"},"title":{"$t":"Security review of FUSE-based ntfs-3g driver"},"content":{"$t":"Security review of using FUSE-based ntfs-3g driver for supporting NTFS-formatted devices in the file browser.","type":"html"},"link":[{"rel":"replies","type":"application/atom+xml","href":"http://code.google.com/feeds/issues/p/chromium-os/issues/17742/comments/full"},{"rel":"alternate","type":"text/html","href":"http://code.google.com/p/chromium-os/issues/detail?id=17742"},{"rel":"self","type":"application/atom+xml","href":"https://code.google.com/feeds/issues/p/chromium-os/issues/full/17742"}],"author":[{"name":{"$t":"benc...@chromium.org"},"uri":{"$t":"/u/102294590037254683667/"}}],"issues$blockedOn":[{"issues$id":{"$t":18524}}],"issues$blocking":[{"issues$id":{"$t":14981}},{"issues$id":{"$t":15701}}],"issues$cc":[{"issues$uri":{"$t":"/u/102294590037254683667/"},"issues$username":{"$t":"benc...@chromium.org"}},{"issues$uri":{"$t":"/u/wad@chromium.org/"},"issues$username":{"$t":"wad@chromium.org"}},{"issues$uri":{"$t":"/u/113685059532734519888/"},"issues$username":{"$t":"pvalc...@chromium.org"}}],"issues$id":{"$t":17742},"issues$label":[{"$t":"Type-Task"},{"$t":"Pri-1"},{"$t":"Area-FileBrowser"},{"$t":"Sev-2"},{"$t":"Team-Security"},{"$t":"Iteration-37"},{"$t":"bulkmove"},{"$t":"Feature-FileManager"},{"$t":"Mstone-21"}],"issues$owner":{"issues$uri":{"$t":"/u/wad@chromium.org/"},"issues$username":{"$t":"wad@chromium.org"}},"issues$stars":{"$t":12},"issues$state":{"$t":"open"},"issues$status":{"$t":"Untriaged"}}]}}
</script>
<script>

function renderApp() {
  var dashboard = loadDashboard();
  // TODO(wad) Move this to a field on the options.html page to let users direct-edit it.
  var mqe = document.getElementById('mock_query');
  var mce = document.getElementById('mock_comments');
  if (bgPage == null) {
    console.log('Mocking data. No bgPage');
    mock_query = JSON.parse(mqe.innerText);
    mock_comments = JSON.parse(mce.innerText);
  }
  // No need to keep it everywhere.
  mqe.parentNode.removeChild(mqe);
  mce.parentNode.removeChild(mce);

  makeWorld(dashboard, window.document.body);
}

bgPage.oauth.authorize(renderApp);

</script>

</body>
</html>
